[Error] VS code에서 maven 오류

"2"개의 인수가 있는 "DownloadFile"을(를) 호출하는 동안 예외가 발생했습니다. "WebClient를 요청하는 동안 예외가 발생했습니다."

Posted by ChaelinJ on March 14, 2021

안녕하세요.

1. 발생 상황

docker build를 위해 .jar 파일을 생성하기 위해 maven package 기능을 사용할 때 발생했습니다.

maven 탭에서 프로젝트 > 우클릭 > package

2. 발생 오류

PS C:\RESTful_MiniProject> & "c:\RESTful_MiniProject\demo\mvnw.cmd" package -f "c:\RESTful_MiniProject\demo\pom.xml"
"2"개의 인수가 있는 "DownloadFile"을(를) 호출하는 동안 예외가 발생했습니다. "WebClient를 요청하는 동안 예외가 발생했습니다."
위치 줄:1 문자:282
+ ... pe]::Tls12; $webclient.DownloadFile('https://repo.maven.apache.org/ma ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException
 
Error: Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain
Caused by: java.lang.ClassNotFoundException: org.apache.maven.wrapper.MavenWrapperMain

장황하지만 맨 아래 caused by를 보면 ClassNotFoundException이 발생한 것을 확인할 수 있습니다.

3. 해결

1) mvn/wrapper/maven-wrapper.jar

해당 파일이 존재하는지 확인합니다.

또한 extension에서 maven 관련 툴을 설치했는지도 확인합니다.

2) .gitignore 수정

이 파일은 git에 업로드 되지 않을 파일을 지정하는 것입니다.

git에 mvn/wrapper/maven-wrapper.jar 파일이 존재해야 하는데 .gitignore에 의해 ‘*.jar’이 지정되면 git에 업로드 되지 않아 해당 오류가 발생합니다.

우선 .gitignore을 수정한 후 push를 진행합니다.

3) 터미널 경로

.mvn 폴더가 존재하는 경로에서 진행해주어야 합니다.

저의 경우 이를 간과하고 루트에서 진행했더니 위와 같은 오류가 발생하였습니다.

cd명령어를 통해 프로젝트 하위 폴더로 이동하는 것 잊지마세요!

이 부분을 깜빡해서 엉뚱한 부분을 수정하고 있었네요ㅜㅜ

이 글을 통해 잊지 않아야겠죠!

감사합니다.

Text by Chaelin. Photographs by Chaelin, Unsplash.